package cn.iocoder.yudao.module.member.dal.dataobject.job;

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @Description: TODO
 * @Author: Admin
 * @Date: 2025/7/22 17:20
 * @Version: 1.0
 */
@TableName("job1")
@KeySequence("job_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class JobApi {
    /**
     * id
     */
    @TableId
    private Integer id;
    /**
     * 职位ID，唯一标识
     */
    private String jobId;
    /**
     * 职位名称
     */
    private String jobName;
    /**
     * 公司ID
     */
    private String companyId;
    /**
     * 公司名称
     */
    private String companyName;
    /**
     * 招聘类型编码
     */
    private String recruitmentType;
    /**
     * 招聘类型中文描述
     */
    private String recruitmentTypeCn;
    /**
     * 职位性质编码
     */
    private String nature;
    /**
     * 职位性质中文描述
     */
    private String natureCn;
    /**
     * 职位类别编码
     */
    private String category;
    /**
     * 职位类别中文描述
     */
    private String categoryCn;
    /**
     * 招聘人数
     */
    private Integer amount;
    /**
     * 最低工资
     */
    private Integer minWage;
    /**
     * 最高工资
     */
    private Integer maxWage;
    /**
     * 工资单位编码
     */
    private String wageUnit;
    /**
     * 工资单位中文描述
     */
    private String wageUnitCn;
    /**
     * 工资发放月数
     */
    private Integer months;
    /**
     * 工资是否可协商
     */
    private Boolean isNegotiable;
    /**
     * 学历要求编码
     */
    private String education;
    /**
     * 学历要求中文描述
     */
    private String educationCn;
    /**
     * 经验要求编码
     */
    private String experience;
    /**
     * 经验要求中文描述
     */
    private String experienceCn;
    /**
     * 是否应届生
     */
    private Boolean isGraduates;
    /**
     * 部门ID
     */
    private Integer department;
    /**
     * 部门中文描述
     */
    private String departmentCn;
    /**
     * 招聘开始时间
     */
    private LocalDateTime startTime;
    /**
     * 招聘结束时间
     */
    private LocalDateTime endTime;
    /**
     * 职位描述
     */
    private String contents;
    /**
     * 模板类型
     */
    private String template;
    /**
     * 职位状态
     */
    private Integer status;
    /**
     * 是否可申请
     */
    private Boolean isApply;
    /**
     * 申请说明
     */
    private String applyInstruction;
    /**
     * 是否收费
     */
    private Boolean isCharge;
    /**
     * 收费金额
     */
    private BigDecimal chargeAmount;
    /**
     * 用户ID
     */
    private String userId;
    /**
     * 子站点ID
     */
    private Integer subsite;
    /**
     * 备注
     */
    private String notes;
    /**
     * 扩展信息
     */
    private String extend;
    /**
     * 刷新时间
     */
    private LocalDateTime refreshTime;
    /**
     * 下线类型
     */
    private Integer offlineType;
    /**
     * 是否收藏
     */
    private Boolean isFavorite;
    /**
     * 已申请人数
     */
    private Integer applied;
    /**
     * 申请人数限制
     */
    private Integer appliedNum;
    /**
     * 招聘流程
     */
    private String recruitmentProcess;
    /**
     * 是否隐藏
     */
    private Integer hide;
    /**
     * 专业code
     */
    private String major;
    /**
     * 专业名
     */
    private String majorCn;
    /**
     * 标签编码
     */
    private String om;
    /**
     * 标签中文描述
     */
    private String omCn;
}
